package edu.predatorwars.server.host;

import java.util.UUID;
import edu.predatorwars.shared.models.*;

public interface GameHostInterface {

	//Creates a new game with only joiningPlayer in it
	//assigns it a gameId, adds it to open games
	public void createGame(Player joiningPlayer);

	//Allows player joiningPlayer to join the game with id gameId
	//if the game is full after the join, it automatically begins
	//Returns true if the player joined successfully, false if not
	public boolean joinGame(Player joiningPlayer, UUID gameId);

	//If the quittingPlayer is in the game with id gameId
	//kills their creature
	public void quitGame(Player quittingPlayer, UUID gameId);

	//Allows player player to set their creature to creature in game with id gameId
	//does nothing is the player is not in the game or the game is not in CHARACTER_SELECTION_STATE
	public void selectCharacter(Player player, Creature creature, UUID gameId);

	public void move(Player player, Move move, UUID gameId);

	// Sends a list of games which are open for joining to the player
	// (Game state is SETUP_STATE)
	public void refreshGameList(Player refreshingPlayer);

}
